int len = children.getLength();
while (i < len) {
Node child = children.item(i);
if (child.hasChildNodes()) {
removePIs(child);
i++;
} else {
Node nextSibling = child.getNextSibling();
if (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
parent.removeChild(child);
} else if (child.hasChildNodes()) {
removePIs(child);
}
child = nextSibling;